package com.gitee.xmhzzz.component.common.enums;

/**
 * 统一错误编码入口
 * 提供多语言支持
 * <br />
 * <br />code编码规则：
 * <br />     由两部分组成：系统模块_异常码 其中：系统模块3位，异常码6位，前面的0全部可以省略
 * <br />                 code理论最大值在 Integer.MAX_VALUE(21_4748_3648) 以内，
 * <br />     系统模块：000-系统内置；001-系统内置；002-系统内置；
 * <br />             010-用户系统；020-订单系统；030-支付系统；
 * <br />              040-设备连接；045-设备管理；
 * <br />               050-商品系统；060-优惠系统；
 * <br />             080-定时任务；090-报表系统；
 * <br />     异 常 码：000-系统正常；401-未授权；404-资源不存在；
 * <br />              500-内部错误；
 * <br />              999999-未知错误；
 * <br />
 * <br />     建   议：不同种类的异常码，至少保留100个空位
 * <br />
 * <br />             1000以内的【000-系统内置】错误码以HttpStatus为基准
 * <br />             【001-系统内置】开始的错误码为业务系统的系统错误码
 * <br />
 * <br />     例(如果前面是0,直接略过)：
 * <br />		000_000000 -> 0 -> 成功
 * <br />        000_000401 -> 401 -> 未授权
 * <br />        000_000404 -> 404 -> 资源文件不存在(FileNotFound)
 * <br />        000_000504 -> 504 -> 系统异常，资源不存在(ClassNotFound)
 * <br />        000_999999 -> 999999 -> 未知错误
 * <br />        020_000001 -> 20_000001 -> 订单不存在
 * <br />        020_000102 -> 20_000102 -> 订单金额超过限制
 * <br />
 * <br />
 * @author
 */
public interface ErrorCode {
    /**
     * 错误编码
     *
     */
    Integer getCode();



    /**
     * 获取提示信息
     */
    String getMsg();
}
